#============================================================
#	Bottom Panel
#============================================================
# @datetime: 2022-3-23 15:34:40
#============================================================
extends PanelContainer


signal added_item(data)
signal removed_item(data)


const Item_Scn = preload("res://addons/item_container/item_panel/container/Item.tscn")

onready var hbox = $HBoxContainer

var __item_data__ : Dictionary = {}


#============================================================
#   内置
#============================================================
func can_drop_data(position, data):
	return data is Dictionary


func drop_data(position, data):
	add_item(data)



#============================================================
#   自定义
#============================================================
func add_item(data: Dictionary):
	var item = Item_Scn.instance()
	hbox.add_child(item)
	item.set_data(data)
	item.set_texture(data.get('icon'))
	__item_data__[data['id']] = item
	emit_signal("added_item", data)
	
	# 从上一个移除
	var panel : Control = data.get("panel")
	if panel:
		panel.remove_item(data.get('id'))
	
	PlayerData.add_property(data)
	
	data['panel'] = self


func remove_item(item_id):
	var node := __item_data__[item_id] as Node
	var data : Dictionary = node.get_data()
	emit_signal("removed_item", data)
	node.queue_free()
	PlayerData.remove_property(data)



